\section{fsm\+\_\+foe.\+h File Reference}
\label{fsm__foe_8h}\index{fsm\+\_\+foe.\+h@{fsm\+\_\+foe.\+h}}


Ether\+C\+AT FoE state machines.  


\subsection*{Data Structures}
\begin{DoxyCompactItemize}
\item 
struct \textbf{ ec\+\_\+fsm\+\_\+foe}
\begin{DoxyCompactList}\small\item\em Finite state machines for the C\+A\+Nopen-\/over-\/\+Ether\+C\+AT protocol. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Typedefs}
\begin{DoxyCompactItemize}
\item 
typedef struct \textbf{ ec\+\_\+fsm\+\_\+foe} \textbf{ ec\+\_\+fsm\+\_\+foe\+\_\+t}
\end{DoxyCompactItemize}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\label{fsm__foe_8h_aeb7f396bcef5efd542597108eb9b1801}} 
void \textbf{ ec\+\_\+fsm\+\_\+foe\+\_\+init} (\textbf{ ec\+\_\+fsm\+\_\+foe\+\_\+t} $\ast$)
\begin{DoxyCompactList}\small\item\em Constructor. \end{DoxyCompactList}\item 
\mbox{\label{fsm__foe_8h_abcbf9ea75475717789189556b74e96c8}} 
void \textbf{ ec\+\_\+fsm\+\_\+foe\+\_\+clear} (\textbf{ ec\+\_\+fsm\+\_\+foe\+\_\+t} $\ast$)
\begin{DoxyCompactList}\small\item\em Destructor. \end{DoxyCompactList}\item 
int \textbf{ ec\+\_\+fsm\+\_\+foe\+\_\+exec} (\textbf{ ec\+\_\+fsm\+\_\+foe\+\_\+t} $\ast$, \textbf{ ec\+\_\+datagram\+\_\+t} $\ast$)
\begin{DoxyCompactList}\small\item\em Executes the current state of the state machine. \end{DoxyCompactList}\item 
int \textbf{ ec\+\_\+fsm\+\_\+foe\+\_\+success} (const \textbf{ ec\+\_\+fsm\+\_\+foe\+\_\+t} $\ast$)
\begin{DoxyCompactList}\small\item\em Returns, if the state machine terminated with success. \end{DoxyCompactList}\item 
\mbox{\label{fsm__foe_8h_ac1a32ebc65651ecf94e5470c0108a1ed}} 
void \textbf{ ec\+\_\+fsm\+\_\+foe\+\_\+transfer} (\textbf{ ec\+\_\+fsm\+\_\+foe\+\_\+t} $\ast$, \textbf{ ec\+\_\+slave\+\_\+t} $\ast$, \textbf{ ec\+\_\+foe\+\_\+request\+\_\+t} $\ast$)
\begin{DoxyCompactList}\small\item\em Prepares an FoE transfer. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
Ether\+C\+AT FoE state machines. 



\subsection{Typedef Documentation}
\mbox{\label{fsm__foe_8h_a67d256ed8586be0abb5c87691ad840f5}} 
\index{fsm\+\_\+foe.\+h@{fsm\+\_\+foe.\+h}!ec\+\_\+fsm\+\_\+foe\+\_\+t@{ec\+\_\+fsm\+\_\+foe\+\_\+t}}
\index{ec\+\_\+fsm\+\_\+foe\+\_\+t@{ec\+\_\+fsm\+\_\+foe\+\_\+t}!fsm\+\_\+foe.\+h@{fsm\+\_\+foe.\+h}}
\subsubsection{ec\+\_\+fsm\+\_\+foe\+\_\+t}
{\footnotesize\ttfamily typedef struct \textbf{ ec\+\_\+fsm\+\_\+foe} \textbf{ ec\+\_\+fsm\+\_\+foe\+\_\+t}}

\begin{DoxySeeAlso}{See also}
\doxyref{ec\+\_\+fsm\+\_\+foe}{p.}{structec__fsm__foe} 
\end{DoxySeeAlso}


Definition at line 49 of file fsm\+\_\+foe.\+h.



\subsection{Function Documentation}
\mbox{\label{fsm__foe_8h_abf246a9d491ad93d1aa0a4abf71fd275}} 
\index{fsm\+\_\+foe.\+h@{fsm\+\_\+foe.\+h}!ec\+\_\+fsm\+\_\+foe\+\_\+exec@{ec\+\_\+fsm\+\_\+foe\+\_\+exec}}
\index{ec\+\_\+fsm\+\_\+foe\+\_\+exec@{ec\+\_\+fsm\+\_\+foe\+\_\+exec}!fsm\+\_\+foe.\+h@{fsm\+\_\+foe.\+h}}
\subsubsection{ec\+\_\+fsm\+\_\+foe\+\_\+exec()}
{\footnotesize\ttfamily int ec\+\_\+fsm\+\_\+foe\+\_\+exec (\begin{DoxyParamCaption}\item[{\textbf{ ec\+\_\+fsm\+\_\+foe\+\_\+t} $\ast$}]{fsm,  }\item[{\textbf{ ec\+\_\+datagram\+\_\+t} $\ast$}]{datagram }\end{DoxyParamCaption})}



Executes the current state of the state machine. 

\begin{DoxyReturn}{Returns}
1, if the datagram was used, else 0. 
\end{DoxyReturn}

\begin{DoxyParams}{Parameters}
{\em fsm} & finite state machine \\
\hline
{\em datagram} & Datagram to use. \\
\hline
\end{DoxyParams}


Definition at line 129 of file fsm\+\_\+foe.\+c.

\mbox{\label{fsm__foe_8h_aabc5071b20cec133ec15cd8e9c062715}} 
\index{fsm\+\_\+foe.\+h@{fsm\+\_\+foe.\+h}!ec\+\_\+fsm\+\_\+foe\+\_\+success@{ec\+\_\+fsm\+\_\+foe\+\_\+success}}
\index{ec\+\_\+fsm\+\_\+foe\+\_\+success@{ec\+\_\+fsm\+\_\+foe\+\_\+success}!fsm\+\_\+foe.\+h@{fsm\+\_\+foe.\+h}}
\subsubsection{ec\+\_\+fsm\+\_\+foe\+\_\+success()}
{\footnotesize\ttfamily int ec\+\_\+fsm\+\_\+foe\+\_\+success (\begin{DoxyParamCaption}\item[{const \textbf{ ec\+\_\+fsm\+\_\+foe\+\_\+t} $\ast$}]{fsm }\end{DoxyParamCaption})}



Returns, if the state machine terminated with success. 

\begin{DoxyReturn}{Returns}
non-\/zero if successful. 
\end{DoxyReturn}

\begin{DoxyParams}{Parameters}
{\em fsm} & Finite state machine \\
\hline
\end{DoxyParams}


Definition at line 163 of file fsm\+\_\+foe.\+c.

